The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, the approaches described in this section may not be prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Many network devices, such as routers, gateways and hubs, store configuration data that defines how the network devices operate. For example, configuration data may define interfaces, communications protocols, security protocols and operational parameters for a network device. Configuring of network devices is conventionally done manually, for example using a text editor to create a text file containing a set of configuration data for a network device. The text file is downloaded to the network device and the network device begins using the configuration data.
Over time, circumstances may require that the configuration data be updated. For example, configuration data may need to be updated to reflect a change in the definition of an existing interface, or to add a new interface definition. As another example, configuration data may need to be updated to change operational parameters of a network device. In this situation, all of the configuration data is retrieved from the network device and then manually edited. Updating configuration data is conventionally done by deleting and adding lines of configuration data using a command line editor or a graphical editor. The updated configuration data is then downloaded to the network device and the network device begins using the updated configuration data.
Manually creating and editing network device configuration data is tedious and prone to errors, particularly for network devices that use large amounts of configuration data. The file containing all of the configuration data for the network device must be downloaded and then manually edited. There are also situations where it is desirable to reuse configuration data across multiple network devices, for example when a large number of identical network devices are deployed. Using conventional editing tools to create multiple copies of configuration data and then to customize the configuration data for particular network devices is also tedious and prone to errors.
Based on the foregoing, there is a need for an approach for managing network device configuration data that does not suffer from limitations of prior approaches is highly desirable. There is a particular need for an approach for managing network device configuration data that reduces the likelihood of errors when the configuration data is updated. There is a further need for an approach for managing network device configuration data that is more user friendly and efficient than conventional approaches. There is also a need for an approach for managing network device configuration data that provides a useful mechanism for reusing configuration data on a single network device or across multiple network devices.